<?php
namespace app\data_magic\data;

/**
 * 行数据转换成的对象基类
 */
class DataRow
{
    /**
     * 从关联数组创建对象
     * @var array $data 数据库中读取的字段信息
     * @param array $data 数据库中读取的字段信息
     */
    public $data=[];
    public function __construct($data)
    {
        if($data instanceof DataRow){
            $data=$data->toArray();
        }
        $this->data=$data;
    }
    public function __get($name)
    {
        if(isset($this->data[$name])){
            return $this->data[$name];
        }
    }
    public function __set($name, $value)
    {
        if(isset($this->data[$name])){
            $this->data[$name]=$value;
        }
    }
    /**
     * 将对象转化为关联数组
     */
    public function toArray()
    {
        $result=$this->data;
        foreach($this as $key => $value){
            if($key!=="data"){
                $result[$key] = $value;
            }
        }
        return $result;
    }
}
